package cn.kawa.basic.mapper;

import cn.kawa.basic.query.BaseQuery;


import java.util.List;

/**
 * 基础Mapper用于抽取其他Mapper常用的8个增删改查，页面展示相关的方法
 * service接口会有7个方法，调用此8个方法
 * @param <T>
 */
public interface BaseMapper<T> {
    //mapper的方法定义要贴近数据库，service要贴近前端用户

    //加载所有
    List<T> loadAll();
    //加载单个
    T loadById(Long id);
    //保存一个
    void  save (T t);
    //移除一个
    void  remove(Long id);
    //更新一个
    void update(T t);
    //查询总数量:分页使用
    Integer queryCount(BaseQuery baseQuery);
    //查询当前页数据：分页使用
    List<T> queryData(BaseQuery baseQuery);

    void patchDel(List<Long> ids);
}
